EC2インスタンス(Ubuntu)起動時にFSx for Lustreファイルシステムが自動マウントされないのはなぜですか
困っていた内容
EC2インスタンス(Ubuntu)起動時にFSx for Lustreファイルシステムを自動マウントするよう下記ドキュメントを参考に/etc/fstab
に追記しましたが、EC2インスタンスを再起動後、マウントが外れ、自動マウントされていないように見えます。自動マウントの設定が機能していないように見えますが、EC2インスタンス起動後にmount -a
コマンドを実行すると、マウントされます。
原因
結論から申し上げると、EC2インスタンスを再起動後、ファイルシステムをマウントするディレクトリに何らかのアクセスが発生するまではマウントされず、ディレクトリにアクセスした際に自動マウントする仕組みとなっていました。
確認してみた
準備
EC2インスタンスを Ubuntu 22.04.3 LTS で起動します。
$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.4 LTS"
Amazon FSx for Lustre を作成します。
EC2インスタンスに接続し、下記コマンドで、Amazon FSx ファイルシステムをマウントするディレクトリ/fsx
を作成し、FSx ファイルシステムにマウントします。
$ sudo mkdir /fsx $ sudo mount -t lustre -o relatime,flock fs-xxx.fsx.ca-central-1.amazonaws.com@tcp:/5rl6zbmv /fsx
dfコマンドでマウントが成功していることを確認しました。
$ df -h Filesystem Size Used Avail Use% Mounted on 〜 一部抜粋 〜 172.31.28.50@tcp:/5rl6zbmv 1.2T 7.8M 1.2T 1% /fsx
次に、下記のように/fsx
ディレクトリ配下にtest.txt
ファイルを作成しました。
$ ls /fsx test.txt
自動マウントの設定
/etc/fstab に、下記を追記します。
fs-xxx.fsx.ca-central-1.amazonaws.com@tcp:/4iio3bmv /fsx lustre defaults,relatime,flock,_netdev,x-systemd.automount,x-systemd.requires=systemd-networkd-wait-online.service 0 0
動作確認
自動マウントされるか確認するため、再起動してみます。
$ sudo reboot
再起動後にdfコマンドで確認すると、マウントされていないように見えます。
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.6G 2.2G 5.4G 30% / tmpfs 475M 0 475M 0% /dev/shm tmpfs 190M 860K 190M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/xvda15 105M 6.1M 99M 6% /boot/efi tmpfs 95M 4.0K 95M 1% /run/user/1000
ステータスを確認すると「active (waiting) 」となっていました。自動マウントの設定はされているようです。
$ systemctl status fsx.automount ● fsx.automount Loaded: loaded (/etc/fstab; generated) Active: active (waiting) since Wed 2024-03-20 05:02:51 UTC; 25s ago Triggers: ● fsx.mount Where: /fsx Docs: man:fstab(5) man:systemd-fstab-generator(8) Mar 20 05:02:51 ip-172-31-20-19 systemd[1]: Set up automount fsx.automount.
lsコマンドで対象ディレクトリにアクセスします。
$ ls /fsx test.txt
再度確認するとマウントされていました。
$ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.6G 2.2G 5.4G 30% / tmpfs 475M 0 475M 0% /dev/shm tmpfs 190M 848K 190M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock /dev/xvda15 105M 6.1M 99M 6% /boot/efi tmpfs 95M 4.0K 95M 1% /run/user/1000 172.31.20.133@tcp:/4iio3bmv 1.2T 7.8M 1.2T 1% /fsx
再度ステータスを確認すると「active (running) 」となっていました。出力された「fsx.automount: Got automount request for /fsx, triggered by 771 (ls)」の記録から、lsコマンドによってアクセスした際に、自動マウントが実行されたことがわかります。
$ systemctl status fsx.automount ● fsx.automount Loaded: loaded (/etc/fstab; generated) Active: active (running) since Wed 2024-03-20 05:02:51 UTC; 1min 7s ago Triggers: ● fsx.mount Where: /fsx Docs: man:fstab(5) man:systemd-fstab-generator(8) Mar 20 05:02:51 ip-172-31-20-19 systemd[1]: Set up automount fsx.automount. Mar 20 05:03:40 ip-172-31-20-19 systemd[1]: fsx.automount: Got automount request for /fsx, triggered by 771 (ls)